import { defineStore } from 'pinia'
// import { getDeviceListApi } from '@/api/software'
// import { changeDeviceId } from '@/server/request'
export const useBasicData = defineStore({
  id: 'basicData',
  /**
   * 类似于组件的data，用来存储全局状态的
   * 1.必须是函数：避免在服务端渲染时候请求导致的交叉污染
   * 2.且必须是箭头函数：为了更好的TS类型推导
   * 3.返回值一个函数，调用得到容器实例
   * 4.Pinia对state 数据做了 reactive处理，因此解构赋值需要用到 storeToRefs 方法
   */
  state: () => {
    return {
      contentHeight: 0,
      deviceInfoList: []
    }
  },
  /**
   * 类似于组件的computed ，用来封装计算属性，有缓存功能
   * @returns
   */
  getters: {
    channelCount(state) {
      return state.deviceInfoList[0].channelCount
    }
  },
  /**
   * 类似于组件的 methods, 封装业务逻辑，修改 state
   */
  actions: {
    changeHeight(val) {
      this.contentHeight = val
    }
  }
})
